package com.it.controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.it.bean.Employee;
import com.it.bean.Msg;
import com.it.service.EmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * @author 一颗大菠菜
 * @create 2020-08-15 15:16
 */

/**
 * 处理员工增删改查
 *
*/
@Controller
public class EmployeeController {

    @Autowired
    EmployeeService employeeService;

    /**
     *导入Jackson包  将对象转换成json字符串
     */
    @RequestMapping("/emps")
    @ResponseBody
    public Msg getEmpsWithJson(@RequestParam(value = "pn" , defaultValue = "1") Integer pn, Model model){
        //引入PageHelper分页插件
        //在查询之前只需要调用,传入页码，以及每页的大小
        PageHelper.startPage(pn,5);
        //startPage后面紧跟的查询就是一个分页查询
        List<Employee> emps= employeeService.getAll();
        //用PageInfo对结果进行包装，只需要将pageInfo交给页面就行
        //封装了详细的分页信息，包括有查询出来的数据,传入连续显示的页数
        PageInfo page = new PageInfo(emps,5);
        return Msg.success().add("pageInfo",page);
    }

    /**
     * 查询员工数据（分页查询）
     * @return
     */
    //@RequestMapping(path = "/emps")
    public String getEmps(@RequestParam(value = "pn" , defaultValue = "1") Integer pn, Model model){

        //引入PageHelper分页插件
        //在查询之前只需要调用,传入页码，以及每页的大小
        PageHelper.startPage(pn,5);
        //startPage后面紧跟的查询就是一个分页查询
        List<Employee> emps= employeeService.getAll();
        //用PageInfo对结果进行包装，只需要将pageInfo交给页面就行
        //封装了详细的分页信息，包括有查询出来的数据,传入连续显示的页数
        PageInfo page = new PageInfo(emps,5);
        model.addAttribute("pageInfo",page);

        return "tables";
    }
}
